package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;

   /**
   * @ClassName: WmsInventoryPlanMapper.java
   * @Description: TODO(这里用一句话描述这个类的作用)
   * @Author Jane
   * @Date Tue Jan 09 10:16:55 CST 2018
   */
   public interface WmsInventoryPlanMapper extends BaseDao<WmsInventoryPlan>{

   /**
    * 插入一条记录
    * @param entity 实体对象
    * @return int
    */
    public Integer baseInsert(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

   /**
    * 插入一条记录（匹配有值的字段）
    * @param entity 实体对象
    * @return int
    */
   public Integer baseInsertSelective(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

   /**
    * 删除（根据主键ID删除）
    * @param id 主键
    * @return int
    */
   public Integer baseDeleteByPrimaryKey(@Param("id") String id);

   /**
    * 删除（根据ID 批量删除）
    * @param idList 主键ID列表
    * @return int
    */
    public Integer baseDeleteBathPrimaryKeys(@Param("list") List<String> idList);


    /**
    * 分页查询
    * @param entity 实体
    * @return List<WmsInventoryPlan>
    */
    public List<WmsInventoryPlan>  baseSelectPage(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

    /**
    * 查询（根据主键ID查询）
    * @param id 主键ID
    * @return User
    */
    public WmsInventoryPlan  baseSelectByPrimaryKey(@Param("id") String id);

   /**
    * 查询（根据ID 批量查询）
    * @param idList 主键ID列表
    * @return list
    */
    public Integer baseSelectBathPrimaryKeys(@Param("list") List<WmsInventoryPlan> idList);

   /**
    *修改 （匹配有值的字段）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKeySelective(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

   /**
    *修改（根据主键ID修改）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKey(@Param("WmsInventoryPlan") WmsInventoryPlan entity);
       /**
        *统计盘点编号最大值_Jane
        * @param bh 当天编号的日期
        * @param ckid 仓库Id
        * @param owner 货主id
        * @return int
        */
       public Integer selectBcNoCountInOneDay(@Param("bh") String bh,@Param("ckid") String ckid,@Param("owner") String owner);
       /**
        *获取盘点编号最后几位最大值_Jane
        * @param bh 当天编号的日期
        * @param ckid 仓库Id
        * @param owner 货主id
        * @return int
        */
       public String selectBcNumInOneDay(@Param("bh") String bh,@Param("ckid") String ckid,@Param("owner") String owner);
       /**
        *盘点编号是否已经存在——Jane
        * @param pdbh 盘点编号
        * @return int
        */
       public Integer countPdbhByPdbh(@Param("pdbh") String pdbh);
       /**
        *查询库存是否有带操作数量——Jane
        * @param entity 实体类
        * @return int
        */
       public List<WmsStock> countCzSl(@Param("WmsInventoryPlan") WmsInventoryPlan entity);
       /**
        *查询此盘点计划要盘点的库存——Jane
        * @param entity 实体类
        * @return int
        */
       public List<WmsStock> seachPlanKc(@Param("WmsInventoryPlan") WmsInventoryPlan entity);
       /**
        *打印盘点任务清单——Jane
        * @param entity 实体类
        * @return int
        */
       public List<WmsInventoryTask> printPlanRw(@Param("WmsInventoryTask") WmsInventoryTask entity);
       /**
        *打印盘点损益单清单——Jane
        * @param entity 实体类
        * @return int
        */
       public List<WmsInventoryTask> printSYPlanRw(@Param("WmsInventoryTask") WmsInventoryTask entity);
       /**
        *查询货主信息——Jane
        * @param sshzid 所属货主Id
        * @return int
        */
       public WmsOwner seachOwnerXxById(@Param("sshzid")String sshzid);
       /**
        *查询货主供应商名称——Jane
        * @param kcid kucunId
        * @return int
        */
       public WmsInventoryTask seachGysmc(@Param("kcid") String kcid);
       /**
        *查询合并主单位名称——Jane
        * @param hpid 货品Id
        * @return int
        */
       public WmsInventoryMerge seachZdwmc(@Param("hpid") String hpid);
}
